package cn.itcast.dao;

import cn.itcast.pojo.Member;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface MemberDao {

    //根据电话号码查询Member对象
    Member findByPhone(String phone);


    //保存新会员
    void save(Member member);

    /**
     * 查询所有
     *
     * @return
     */
    List<Member> findPage();

    /**
     * 根据id查询会员
     * @param id
     * @return
     */
    Member findById(Integer id);

    /**
     * 新增会员
     * @param member
     */
    void insert(Member member);

    /**
     * 编辑会员
     * @param member
     */
    void update(Member member);

    /**
     * 根据条件查询
     * @param condition
     * @return
     */
    List<Member> findPageByCondition(String condition);

    /**
     * 修改用户冻结状态
     * @param id
     * @param status
     */
    void updateStatus(@Param("id") Integer id,@Param("status") Integer status);

    /**
     * 查找今日新增会员数
     * @param today
     * @return
     */
    Integer findNewMembers(String today);

    /**
     * 查找总会员数
     * @return
     */
    Integer findTotalMember();

    /**
     * 查找本周新增会员数
     * @param today
     * @param thisWeekDay
     * @return
     */
    Integer findNewMembersByTime(@Param("startDay") String today, @Param("endDay")String thisWeekDay);
}